package com.ygqh.baby.mapper;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ygqh.baby.ao.GroupMode;
import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.po.YgTuan;
import com.ygqh.baby.po.YgTuanExample;

public interface YgTuanMapper {
	int countByExample(YgTuanExample example);

	int deleteByExample(YgTuanExample example);

	int deleteByPrimaryKey(Long id);

	int insert(YgTuan record);

	int insertSelective(YgTuan record);

	List<YgTuan> selectByExample(YgTuanExample example);

	YgTuan selectByPrimaryKey(Long id);

	int updateByExampleSelective(@Param("record") YgTuan record, @Param("example") YgTuanExample example);

	int updateByExample(@Param("record") YgTuan record, @Param("example") YgTuanExample example);

	int updateByPrimaryKeySelective(YgTuan record);

	int updateByPrimaryKey(YgTuan record);

	int countSuper(@Param("q") String q, @Param("pStatus") String pstatus, @Param("startDate") Date startDate, @Param("endDate") Date endDate);

	List<YgTuan> selectSuper(@Param("queryInfo") QueryInfo queryInfo, @Param("q") String q, @Param("pStatus") String pstatus,
			@Param("startDate") Date startDate, @Param("endDate") Date endDate);

	List<YgTuan> selectList(@Param("queryInfo") QueryInfo queryInfo, @Param("pStatus") String pstatus, @Param("startDate") Date startDate,
			@Param("endDate") Date endDate, @Param("groupMode") GroupMode groupMode, @Param("attribute") String attribute);

	List<String> selectAllAttribute();

}
